// Default_Motor.h
#pragma once
#include "Device_Motor.h"


class Device_Motor_Default : public Device_Motor {
public:
    explicit Device_Motor_Default(QObject* parent = nullptr);

    ~Device_Motor_Default() override = default;

    bool Connect() override;
    bool Disconnect() override;
    bool MoveTo(double position, MotionMode mode = MotionMode::Absolute) override;
    double GetPosition() override;
    bool Home(HomeDirection direction = HomeDirection::Negative) override;

private:
    double m_position = 0.0;
};